#include "sms.h"

//Constructores
SMS::SMS(){
    init(0,"");
}

SMS::SMS(const Numero nroDestino, const Texto texto){
    init(nroDestino,texto);
}

void SMS::init(const Numero nroDestino, const Texto texto){
    _nroDestino = nroDestino;
    _texto = texto;
}

//Getters
Numero SMS::nroDestino() const{
    return _nroDestino;
}

Texto SMS::texto() const{
    return _texto;
}

//Operadores
bool SMS::operator==(const SMS& s) const{
    return ((nroDestino() == s.nroDestino()) && (texto() == s.texto()));
}

void SMS::mostrar(std::ostream& os) const{
    os << "Nro destino: " << nroDestino() << endl;
    os << "Mensaje: " << texto() << endl;
}

void SMS::guardar(std::ostream& os) const{
    char c = ENCABEZADO_ARCHIVO;
    os << c << " " << nroDestino() << " |" << texto() << "|";
}

void SMS::cargar(std::istream& is){
    char c;
    Numero nroDestino;
    Texto texto;

    is >> c;
    if (c == ENCABEZADO_ARCHIVO){
        is >> nroDestino;
        is >> c;
        getline(is,texto,'|');
        _nroDestino = nroDestino;
        _texto = texto;
    }
}

